#ifndef _COMPILER_H
#define _COMPILER_H

#define __section(S)    __attribute__((__section__(#S)))
#define __used          __attribute__((__used__))
#define __aligned(x)    __attribute__((aligned(x)))
#define __weak          __attribute__((weak))
#define __deprecated    __attribute__((deprecated))
#define __packed        __attribute__((packed))

#define __alias(symbol) __attribute__((alias(#symbol)))

/*
 * A trick to suppress uninitialized variable warning without generating any
 * code
 */
#define uninitialized_var(x) x = x

#ifndef UNUSED
# define UNUSED(x)      (x)
#endif

#endif
